package io.trino.jdbc.tuple.guide.session;

import lombok.Getter;

/**
 * session key 定义
 */
public enum SessionPropType {
    /**
     * 租户 id
     */
    TENANT_ID("tenant_id"),

    /**
     * 事务 ID
     */
    TRANSACTION_ID("tid"),

    /**
     * 写语义
     *
     * IGNORE: 如果主键冲突时，插入数据被忽略掉
     * OVERWRITE: 如果主键冲突时，插入数据覆盖原数据
     */
    WRITE_SEMANTICS("write_semantics"),

    /**
     * insert on duplicate时，需要更新的列, 格式： a=1, b=2
     */
    UPDATE_SPEC_COLUMNS("update_spec_columns"),

    ;

    @Getter
    private String key;

    SessionPropType(String key) {
        this.key = key;
    }

}
